package com.deep.seckill.service;

import com.deep.seckill.model.dto.SeckillSkuRedisDTO;

import java.util.List;

/**
 * 秒杀活动接口
 *
 * @author Deep
 * @date 2022/2/21
 */
public interface SeckillService {
    /**
     * 上架近三天商品
     */
    void uploadSeckillSkuLatest3Days();

    /**
     * 获取当前需要商家的商品
     */
    List<SeckillSkuRedisDTO> getCurrentSeckillSkus();

    /**
     * 根据skuId查询商品是否参加秒杀活动
     */
    SeckillSkuRedisDTO getSkuSeckillInfo(Long skuId);

    /**
     * 进行秒杀
     *
     * @param killId 秒杀商品id
     * @param key    秒杀码
     * @param num    秒杀数量
     * @return 订单号
     */
    String seckill(String killId, String key, Integer num) throws InterruptedException;
}
